Bài học Scratch cho học sinh THCS

Câu lệnh điều kiện if / else và rẽ nhánh chương trình

Học cách dùng điều kiện để chương trình tự quyết định làm gì — nền tảng của mọi game và ứng dụng thông minh trên Scratch.

Điều kiện là gì?

Trong cuộc sống, ta thường đưa ra quyết định dựa trên tình huống: nếu trời mưa thì mang ô, ngược lại thì đi bộ bình thường. Trong lập trình, điều kiện hoạt động tương tự — chương trình kiểm tra một câu hỏi có hai đáp án (đúng hoặc sai), rồi chọn hành động phù hợp.

Sơ đồ rẽ nhánh if-else
Sơ đồ rẽ nhánh: nếu điều kiện đúng thì nhánh A, sai thì nhánh B

Trong Scratch, điều kiện được viết bằng các khối Điều khiển (màu cam) kết hợp với khối so sánh từ nhóm Phép toán hoặc Cảm biến.

💡 Ghi nhớ

Điều kiện luôn trả về một trong hai giá trị: đúng (true) hoặc sai (false). Không có câu trả lời thứ ba.

Khối "nếu … thì" (if)

Khối nếu <điều kiện> thì là dạng điều kiện đơn giản nhất. Khi điều kiện đúng, các lệnh bên trong khối được thực hiện. Khi điều kiện sai, khối bị bỏ qua hoàn toàn.

nếu <điểm > 50> thì nói "Bạn làm tốt lắm!" trong 2 giây

Cấu trúc khối if trong Scratch

Khối if có hình chữ C — phần lõm bên trong chứa các lệnh sẽ chạy khi điều kiện đúng. Ô hình lục giác ở đầu khối là nơi gắn điều kiện cần kiểm tra.

📌 Ví dụ — Cảnh báo va chạm
lặp vô hạn nếu <chạm [Tường v]?> thì nói "Cẩn thận!" trong 1 giây đổi [mạng v] đi (-1)

Mỗi khi nhân vật chạm tường, hiện cảnh báo và trừ 1 mạng — chỉ khi điều kiện chạm là đúng.

Khối "nếu … thì … không thì" (if / else)

Khi cần xử lý cả hai trường hợp — đúng lẫn sai — dùng khối nếu <điều kiện> thì … không thì …. Đây chính là cấu trúc if / else trong Scratch.

Nhánh "thì" (if) Chạy khi điều kiện đúng.
Nhánh "không thì" (else) Chạy khi điều kiện sai.
Cấu trúc điều khiển lập trình
Rẽ nhánh là một trong ba cấu trúc điều khiển cơ bản của lập trình
📌 Ví dụ — Xếp loại điểm
nếu <điểm ≥ 8> thì nói "Xếp loại Giỏi" trong 2 giây không thì nói "Cố gắng thêm nhé!" trong 2 giây

Điểm từ 8 trở lên → Giỏi. Dưới 8 → nhắc nhở cố gắng. Hai nhánh loại trừ lẫn nhau.

💡 Ghi nhớ

Với if/else, chỉ một nhánh được chạy mỗi lần kiểm tra — không bao giờ chạy cả hai cùng lúc.

So sánh và điều kiện phức hợp

Điều kiện trong Scratch thường dùng các phép so sánh:

= bằng < nhỏ hơn > lớn hơn và (and) hoặc (or) không (not)

Kết hợp nhiều điều kiện

📌 Ví dụ — Điều kiện thắng game
nếu <điểm > 100> và <mạng > 0> thì nói "Bạn thắng!" trong 3 giây dừng [tất cả v]

Cần đủ điểmcòn mạng mới thắng — thiếu một điều kiện là chưa đủ.

Rẽ nhánh nhiều cấp (if / else if)

Khi có nhiều hơn hai khả năng, bạn có thể lồng khối if bên trong nhánh else — tạo chuỗi kiểm tra nhiều cấp.

📌 Ví dụ — Xếp loại học lực đầy đủ
nếu <điểm ≥ 8> thì nói "Giỏi" không thì nếu <điểm ≥ 6.5> thì nói "Khá" không thì nếu <điểm ≥ 5> thì nói "Trung bình" không thì nói "Yếu"

Kiểm tra từ điều kiện cao xuống thấp — giống cách xếp loại học lực ở trường.

💡 Mẹo

Khi lồng nhiều if/else, hãy kiểm tra từ điều kiện khó nhất hoặc cao nhất trước để tránh nhầm lẫn logic.

Điều kiện với khối Cảm biến

Scratch cung cấp sẵn nhiều điều kiện từ nhóm Cảm biến — không cần tự viết phép so sánh:

Game platformer Scratch
Game platformer dùng nhiều điều kiện: chạm đất, chạm kẻ thù, chạm vật phẩm
📌 Ví dụ — Nhảy khi chạm đất
khi phím [cách v] được nhấn nếu <chạm màu [#00ff00]?> thì đổi y đi (80) không thì nói "Phải đứng trên mặt đất!" trong 1 giây

Chỉ nhảy được khi đang chạm màu xanh lá (mặt đất). Ở trên không thì báo lỗi.

Điều kiện trong vòng lặp

Kết hợp vòng lặp với điều kiện là kỹ thuật rất mạnh — chương trình liên tục kiểm tra và phản ứng theo tình huống thay đổi.

khi nhấn cờ xanh lặp vô hạn nếu <phím [mũi tên phải v] được nhấn?> thì đổi x đi (5) nếu <phím [mũi tên trái v] được nhấn?> thì đổi x đi (-5) nếu <chạm cạnh?> thì bật lại

Mỗi vòng lặp kiểm tra ba điều kiện độc lập — nhân vật di chuyển mượt và không ra khỏi sân khấu.

💡 Ghi nhớ

Đặt điều kiện bên trong vòng lặp khi cần phản ứng liên tục. Đặt ngoài vòng lặp khi chỉ cần kiểm tra một lần (ví dụ: kiểm tra thắng/thua).

Dự án thực hành: Game tránh chướng ngại vật

Áp dụng if/else vào game đơn giản theo các bước:

  1. Tạo nhân vật chính và biến điểm, mạng.
  2. Cờ xanh: đặt điểm = 0, mạng = 3, đưa nhân vật về giữa sân khấu.
  3. Vòng lặp: nếu phím phải → đổi x; nếu phím trái → đổi x ngược.
  4. Nếu chạm chướng ngại vật → trừ mạng, đưa nhân vật về vị trí cũ.
  5. Nếu mạng = 0 → nói "Thua rồi!", dừng chương trình.
  6. Nếu điểm ≥ 20 → nói "Thắng rồi!", dừng chương trình.
Giao diện Scratch 3.0
Thực hành ngay trên Scratch để củng cố kỹ năng dùng điều kiện

Lỗi thường gặp

📌 Bài tập gợi ý
  • Bài 1: Nhân vật đổi màu khi chạm biên sân khấu.
  • Bài 2: Quiz 3 câu — dùng if/else để báo đúng/sai.
  • Bài 3: Game đuổi bắt — nếu chạm kẻ đuổi thì thua, chạm đồ ăn thì +điểm.
💡 Lời kết

Câu lệnh điều kiện if/else biến chương trình từ "chạy theo thứ tự cố định" thành "tự quyết định thông minh". Hãy luyện tập với các bài toán đời thường — xếp loại điểm, kiểm tra va chạm, đếm mạng — rồi ghép thành game hoàn chỉnh trên Scratch!